
import { IParam } from '@/core'
import { {{pascalCase uiLogic.codeName}}UILogicBase } from './{{spinalCase uiLogic.codeName}}-ui-logic-base';

/**
 * {{uiLogic.logicName}}
 * 基于template/src/ui-service/\{{appEntities}}/\{{uiLogics}}-ui-logic.ts.hbs生成  
 * @export
 * @class {{pascalCase uiLogic.codeName}}UILogic
 */
export default class {{pascalCase uiLogic.codeName}}UILogic extends {{pascalCase uiLogic.codeName}}UILogicBase {
    
   	/**
     * Creates an instance of {{pascalCase uiLogic.codeName}}UILogic
     * 
     * @param {IParam} [opts={}]
     * @memberof {{pascalCase appEntity.codeName}}UILogic
     */
    constructor(opts: IParam = {}) {
        super(opts);
    }

    /**
     * 实例
     *
     * @private
     * @type { {{pascalCase uiLogic.codeName}}UILogic }
     * @memberof {{pascalCase uiLogic.codeName}}UILogic
     */
    private static instance: {{pascalCase uiLogic.codeName}}UILogic;

    /**
     * 获取实例
     *
     * @memberof {{pascalCase uiLogic.codeName}}UILogic
     */
    public static getInstance(): {{pascalCase uiLogic.codeName}}UILogic {
        if (!this.instance) {
            this.instance = new {{pascalCase uiLogic.codeName}}UILogic();
        }
        return this.instance;
    }
}